##TCIA
setwd("E:\\1.Ovarian_Treg\\1.picture\\15.TCIA")
library(ggpubr)              #引用包
tciaFile="TCIA.txt"          #TCIA打分文件
riskFile="rs_tcga.txt"     #风险文件

#读取TCIA打分文件
ips=read.table(tciaFile, header=T, sep="\t", check.names=F, row.names=1)

#读取风险文件
risk=read.table(riskFile, header=T, sep="\t", check.names=F, row.names=1)
risk$risk=ifelse(risk$riskScore>median(risk$riskScore),"high","low")
#合并数据
sameSample=intersect(row.names(ips), row.names(risk))
ips=ips[sameSample, , drop=F]
colnames(risk)[ncol(risk)]="risk"
risk=risk[sameSample, "risk", drop=F]
data=cbind(ips, risk)

#设置比较组
data$risk=ifelse(data$risk=="high", "High-risk", "Low-risk")
group=levels(factor(data$risk))
data$risk=factor(data$risk, levels=c("Low-risk", "High-risk"))
group=levels(factor(data$risk))
comp=combn(group,2)
my_comparisons=list()
for(i in 1:ncol(comp)){my_comparisons[[i]]<-comp[,i]}

#对TCIA打分进行循环,分别绘制小提琴图
for(i in colnames(data)[1:(ncol(data)-1)]){
  rt=data[,c(i, "risk")]
  colnames(rt)=c("IPS", "Risk")
  gg1=ggviolin(rt, x="Risk", y="IPS", fill = "Risk", 
               xlab="", ylab=i,
               legend.title="Risk",
               add = "boxplot", 
               palette = c("#4DBBD599","#E64B3599" ),
               add.params = list(fill="white"))+ 
    stat_compare_means(comparisons = my_comparisons,
                       symnum.args=list(cutpoints = c(0, 0.001, 0.01, 0.05, 1), 
                                        symbols = c("***", "**", "*", "ns")),
                       label = "p.signif")+
    theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))
  #stat_compare_means(comparisons = my_comparisons,symnum.args=list(cutpoints = c(0, 0.001, 0.01, 0.05, 1), symbols = c("***", "**", "*", "ns")),label = "p.signif")
  
  pdf(file=paste0(i, ".pdf"), width=4, height=3.5)
  print(gg1)
  dev.off()
}

